package com.fourth_groups.shopping121store.ui;

import android.support.v4.app.Fragment;
import android.util.SparseArray;

import com.fourth_groups.shopping121store.ui.cart.CartFragment;
import com.fourth_groups.shopping121store.ui.category.CategoryFragment;
import com.fourth_groups.shopping121store.ui.home.view.HomeFragment;
import com.fourth_groups.shopping121store.ui.person.view.PersonFragment;
import com.fourth_groups.shopping121store.ui.sight.SightFragment;

/**
 * ----------Dragon be here!----------/
 * 　　　┏┓　　　┏┓
 * 　　┏┛┻━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃  创建人:李培雄
 * 　　┃　┳┛　┗┳　┃  时间:Administrator on 2016/10/10
 * 　　┃　　　　　　　┃  备注:Fragment工厂
 * 　　┃　　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃神兽保佑
 * 　　　　┃　　　┃代码无BUG！
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━神兽出没━━━━━━by:coder-pig
 */

public class FragmentFactory {
    private static final int FRAGMENT_HOME = 0;
    private static final int FRAGMENT_SHOP = 1;
    private static final int FRAGMENT_SIGHT = 2;
    private static final int FRAGMENT_CART = 3;
    private static final int FRAGMENT_PERSON = 4;
    private static SparseArray<Fragment> list = new SparseArray<>();

    public static Fragment setFragment(int key) {
        Fragment fragment = list.get(key);
        if (fragment == null) {
            switch (key) {
                case FRAGMENT_HOME:
                    fragment = HomeFragment.setFragment();
                    break;
                case FRAGMENT_SHOP:
                    fragment = CategoryFragment.setFragment();
                    break;
                case FRAGMENT_SIGHT:
                    fragment = SightFragment.setFragment();
                    break;
                case FRAGMENT_CART:
                    fragment = CartFragment.setFragment();
                    break;
                case FRAGMENT_PERSON:
                    fragment = PersonFragment.setFragment();
                    break;
            }
            list.put(key,fragment);
        }
        return fragment;
    }
}
